package com.code.lightning.common.domain;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 基础数据库表字段元数据
 * @author LGX_TvT
 * @date 2021-01-15 14:43
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BasicTableFieldMetaData {

    /**
     * 表 | 视图所在的数据库名
     */
    private String tableSchema;

    /**
     * 表名 | 视图名
     */
    private String tableName;

    /**
     * 列名
     */
    private String columnName;

    /**
     * 属性序号
     */
    private String ordinalPosition;

    /**
     * 列的默认值
     */
    private String columnDefault;

    /**
     * 是否可以为空
     */
    private String isNullable;

    /**
     * 列的数据类型
     */
    private String dataType;

    /**
     * 列的最大长度
     */
    private String characterMaximumLength;

    /**
     * 数据的存储长度
     */
    private String characterOctetLength;

    /**
     * 列的数据类型
     */
    private String columnType;

    /**
     * 列上的索引类型 主键-->PRI  | 唯一索引 -->UNI  一般索引 -->MUL
     */
    private String columnKey;

    /**
     * 额外的信息说明
     */
    private String extra;

    /**
     * 权限
     */
    private String privileges;

    /**
     * 注释
     */
    private String columnComment;

    /**
     * 主外键关系
     */
    private FieldReference reference;

}
